Kompresia obrazu je dlhodobo aktuálna téma, súvisiaca so znižovaním veľkosti obrazových súborov. Okrem zníženia veľkosti obrazového súboru pre jeho uloženie kompresia poskytuje možnosť znižovania veľkosti súboru. Jednou z metód je využitie doprednej neurónovej siete so spätným šírením. Neurónové siete majú široké využitie v rôznych oblastiach práve vďaka svojím vlastnostiam. Metóda kompresie je založená na tom, že neurónové siete sú schopné spracovať vstupy na jednoduchšie vzorky. V skrytej vrstve je obsiahnutá informácia z vonkajšieho vstupu. Táto práca sa zaoberá analýzou existujúcich riešení a experimentmi s doprednou neurónovou sieťou pri kompresii obrazových súborov.
Problém „The Artifcial Ant“ (mravec - zberač potravy) spočíva v nájdení najlepšej stratégie pre pohyb agenta - mravca po toroidálnej mriežke N x N, na ktorej sa nachádza rozmiestnených x kúskov potravy. Cieľom je za stanovený čas (dĺžka života agenta) pozbierať čo najväšší počet kúskov potravy. Agent má obmedzenú oblasť vnímania, napr. okolie o veľkosti 3x3. Pohyb agenta po mriežke bude riadený pomocou doprednej neurónovej siete. Na vstupoch siete budú zakódované informácie o okolí agenta (oblasti vnímania) a výstup bude informácia, ktorým smerom sa má agent pohnúť (1 krok). Neurónová sieť bude trénovaná pomocou genetického algoritmu.
Na tomto projekte som si za úlohu vybral problém hľadania tvárí na fotografiách. Mojou úlohou je pomocou neurónovej siete identifikovať na fotografiách tváre ľudí. Výsledkom by bola aplikácia, ktorej vstup by predstavovala fotografia a výstupom by bola tá istá fotografia, na ktorej by bola vyznačená nájdená pozícia tváre človeka.
Cieľom projektu je vytvoriť doprednú neurónovú sieť so spätným šírením chýb, ktorá bude schopná optimalizovať svoju štruktúru. Problém možno teda definovať aj ako nájdenie spôsobu, akým by bolo možne odstrániť „nadbytočne“ spojenia v sieti a týmto spôsobom teda upraviť neurónovú sieť tak, aby jej „kvalita predikcie“ bola stále akceptovateľná a súčasne jej štruktúra čo najoptimálnejšia.
Neurónová sieť sa bude učiť rozoznávať symboly a obrazce z ťahov nakreslených rukou. Ťahy sa prevedú do digitálnej podoby použitím tabletu, prípadne myši (obrazce a symboly sa teda nebudú zisťovať z rastru ale z ťahu). Ťah bude zaznamenaný ako presná časová postupnosť bodov. V rámci jedného vstupu môže byť použitých aj viac ťahov. Bude sa teda rozlišovať aj položenie a zdvihnutie pera z kresliacej plochy (prípadne stlačenie a uvoľnenie tlačidla myši).
Zadanie č.2 by spočívalo vo vytvorení programu, ktory by umožňoval trénovanie doprednej neurónovej siete na základe interaktivity s používateľom. V hlavnom okne aplikácie by bolo k dispozícii kresliace okno s pevným rozlíšením (napr. 20x20 bodov) a nástroje na priradenie identifikátora k nakreslenému obrazcu (napr. písmeno, alebo číslo, samozrejme implementačne by to bolo binárne zakódované) a nástroje na ovládanie trénovania siete. Užívateľ by mal k dispozícii preddefinovanú množinu znakov anglickej abecedy (napr. všetky veľké písmená), na základe ktorých by mohol vytvárať vstupnú množinu vzorov pre neurónovú sieť. Písmená by sa dali otáčať o 2°, 5° a 10°a posúvať v mriežke o 2px, 5px, či 10px v ľubovoľnom smere. K dispozícii by bola funkcia, ktorá by umožňovala vstupný znak poškodiť na základe zmeny farieb niektorých náhodne výbratých bodov. Užívateľ by mohol definovať parametre trénovania siete (rýchlosť učenia, momentum, počet skrytých neurónov, počet epoch). Cieľom by bolo porovnanie štatistickej úspešnosti klasifikácie vzorov pri otáčaní, posúvaní, či poškodzovaní vstupných vzorov.